iOS6 AutoLayout Storyboard and compatible to iOS5

2013/04/11
~ 阿亮 ~

前陣子寫了「您的微新聞 」和「下一班高鐵 」(一個高鐵時刻表 App) iOS App,一開始是 iOS6 based,因為 iOS6 之後,有支援推播 (Push Notification) 以及社群分享(Social Share) 的功能,因為 iOS6 有支援 Facebook, Twitter, 變好寫很多。後來,有使用者說他還在用 iOS5,可能舊的機型,或者仍有 JB? 就試試支援一下 iOS5,但,有被整到 XD 記錄一下,免得忘了。

可是,真的有點想不管 iOS5 哩。。。又沒多少人 (<5%) ,就算支援,推播、分享又不能用 (煙~ )

 

一、iOS Deployment Target 要由原本 6.0 設成 5.0,如果有用 Cocoapods,pods project 也是要設。

螢幕擷取_13_4_4_下午11_46

 

二、將原本的 storyboard 拷貝一份,改成另一個,比如這裡的 MainStoryboard_iOS5.storyboard

螢幕擷取_13_4_7_下午8_56
以下這段做 storyboard 選擇的程式碼加到 AppDelegate.m 的

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  \
   ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

// Pick storyboard
if (!SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0"))
{
    // for 5.x
    UIStoryboard *storyBoard;
    storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iOS5" bundle:nil];
    UIViewController *initViewController = [storyBoard instantiateInitialViewController];
    [self.window setRootViewController:initViewController];
}

三、 接下來,就針對 MainStoryboard_iOS5 的部份來處理,比如將此 Storyboard 的 Autolayout 關掉,並將 Document Versioning  改成  5.0

螢幕擷取_13_4_7_下午8_55

 

四、將 ViewControl 的以下,「可能」要關掉 “Resize View from NIB,不太確定,要試試。

螢幕擷取_13_4_7_下午8_41

 

五、Subview 「可能」要關掉 “Autoresize Subviews”,View Mode 也可能要改成 “Left”,不太確定,也是要試試。

螢幕擷取_13_4_7_下午8_17

六、navigation view 的 toolbar 似乎也易於 iOS6 變成亂亂的。

螢幕擷取_13_4_8_下午4_21

以上,很多東西,我也還不熟,若你有類似的需求,就參考看看吧。不保證是對的 XD

註: My Current Environment (2013.04)

Xcode version: 4.6.1



站內搜尋



本站其他服務

本站其他軟體



  • 油價快訊App (OilPrices)

    依據油價及匯率,估算台灣下週油價,另外提供三週、一年以及三年的歷史變化,以及週末下午推播通知最新油價預估或公告。


  • 下一台單車(NextBike)

    打開定位即搜尋附近二十點自行車站點,不塞滿全部站點資料到整個地圖上,所以畫面簡潔方便看清楚目前所在地,若需要搜尋地圖其他位置附近站點,再點擊地圖即可。


  • 下一班高鐵 (nextTHSR)

    這個 app 只要開啟後,就根據定位幫你過濾出最近高鐵站的時刻表,不用再按任何按鈕了,方便您在很快時間內確定要坐的哪一班高鐵


  • 下一班火車 (nextRail)

    這個 app 只要開啟後,就根據定位幫你過濾出最近火車站的時刻表,不用再按任何按鈕了,方便您在很快時間內確定要坐的哪一班火車


  • 台灣空污警報(AirInfo)

    設定特定站點為推播通知關注點後,當該站點空氣品質變糟時,即時推播通知給您。另外提供站點附近基本天氣預測資料。


  • 下一班公車(nextBus)

    這個 app 只要開啟後,就根據定位幫你過濾出附近站牌的時刻表,以及提供相關公車預計到站的時間,方便您在很快時間內確定要坐的哪一班公車